package cn.hss.array;

/**数值型数组特征值统计
 * 平均值、最大值、最小值、总和等
 * @author 作者：HeShaoShuai
 * @Email 邮箱：2569819541@qq.com
 * @Date 日期：2023/4/25 16:06
 * @Package 包名：cn.hss.array
 * @Project 项目名：JavaSE
 * @Version 1.0
 */
public class ArrayDemo1 {
	public static void main(String[] args) {
		//arrayElementSum();
		// arrayMax();
		allMaxIndex();
	}
	//找最大值及其所有最大值的下标
	public static void allMaxIndex(){
		int[] arr={4,9,5,6,9,1,3};
		//找最大值
		//假设arr[0]是最大值
		int max=arr[0];
		for(int i=1;i<arr.length;i++){
			if(arr[i]>max){
				//重新给max赋值
				max=arr[i];
			}
		}
		System.out.println("最大值是："+max);
		//System.out.println("最大值的下标是："+index);
		//使用循环遍历输出所有最大值的下标
		for(int j=0;j<arr.length;j++){
			if(max==arr[j]){
				System.out.print("最大值的下标是："+j+"\t");
			}
		}
		System.out.println();
	}
	//获取数组中元素的最大值及对应下标
	public static void arrayMax(){
		int[] arr={4,5,6,9,1};
		//假设arr[0]为最大值,index为最大值的下标
		int max=arr[0];
		int index=0;
		//此处i从1开始，是max不需要与arr[0]再比较一次。
		for(int i=1;i<arr.length;i++){
			if(arr[i]>max){
				max=arr[i];
				index=i;
			}
		}
		System.out.println("数组中的最大为："+max+
				",对应的下标为："+index);
	}
	//求总和、均值
	public static void arrayElementSum(){
		int[] arr={4,5,6,9,1};
		int sum=0;
		for(int i=0;i<arr.length;i++){
			sum += arr[i];
		}
		double avg = sum/arr.length;
		System.out.println("总和为："+sum);
		System.out.println("平均值为："+avg);
	}
}